This document describes the revision history for the ZoneRanger application, and is divided into the following sections:
Features in Version 1.0.0
Bug Fixes in Version 1.0.0
Features in Version 0.9.6
Bug Fixes in Version 0.9.6
Features in Version 0.9.5
Bug Fixes in Version 0.9.5
Comments and Suggestions
F E A T U R E S I N V E R S I O N 1 . 0 . 0
In previous versions, ZoneRanger would distinguish the different types of blocks in the graphical display of a heap zone by the monochrome pattern in which each block is drawn. ZoneRanger will now use the following color patterns to distinguish the various types of blocks, if a color monitor is available:
Free Blocks - Green
Purgeable Handles - 50% Green
Handles - Yellow
Locked Handles - 50% Red
Pointers - Red
Resource Handles - Magenta
Found Blocks - Blue
ZoneRanger now provides the ability to save the contents of the frontmost window to a TEXT file. If the Overview window is frontmost, it will save the displayed summary information. If a Zone window is frontmost, it will save the detailed information about each block in the heap zone to a TEXT file. This information includes the block's type, address, size, attributes, and first 32 bytes of the block's contents in both hexadecimal and ASCII format. In addition, if the block is a resource handle, the information will include the type, id, and name of the resource, as well as the name of the resource file containing the resource. This menu item is active when there is a window open.
ZoneRanger now provides the ability to save the graphical display of a heap zone to a PICT file. This display will include the entire contents of the heap zone, not just the currently visible portion.
ZoneRanger now provides the ability to pop up lists of the different types of blocks in a given heap zone: a list of free blocks, pointers, handles, locked handles, purgeable handles, or resource handles. These lists can be either copied to the clipboard or saved to a TEXT file.
ZoneRanger now provides a zoom box for all Zone windows. When the user clicks in the zoom box, the window will be zoomed to the full size of the monitor. If the window spans multiple monitors, the window will be zoomed to the full size of the monitor containing the greatest portion of the window.
ZoneRanger now provides the ability to control the scroll bar in a Zone window entirely from the keyboard. The "Up Arrow" and "Down Arrow" keys will scroll the window up and down one line at a time, the "Page Up" and "Page Down" keys will scroll the window up and down one page at a time, and the "Home" and "End" keys will scroll to the top or bottom of the window.
B U G F I X E S I N V E R S I O N 1 . 0 . 0
In its previous version, ZoneRanger would sometimes corrupt its heap during the initial creation of the "ZoneRanger Preferences" file. The bug would manifest itself as a crash during a selection from the "Refresh Foreground" or "Refresh Background" submenus. Since the corruption would occur only when creating the preferences file, this bug would most likely be seen only the first time the application is launched on a machine.
In previous versions, ZoneRanger would fail to find the resource type, id, and name for resource handles in heap zones other than the ZoneRanger and System heaps when running on machines with a System Enabler installed. This bug would manifest itself by displaying the string "map unknown" as the resource information when clicking on a resource handle in a Zone window when running on such a machine.
When a Zone window for ZoneRanger itself was open in previous versions, it was possible to pop up a display of the single free block out of which the toolbox would allocate the memory it needed to pop up the block. Between the time that the user clicked on this special free block and the block was popped up, a portion of the block would have been allocated and was no longer free. As such, random data would appear in the popup. This bug occurred only in a Zone window for ZoneRanger itself, and only for a single free block within this window.
In previous versions, the "Compact And Purge" menu item would perform a compaction followed by a purge; it now performs a purge followed by a compaction.
F E A T U R E S I N V E R S I O N 0 . 9 . 6
There are no new features in this version.
B U G F I X E S I N V E R S I O N 0 . 9 . 6
ZoneRanger will center all dialogs and alerts on the monitor that contains the mouse. Similarly, it will position a Zone window that does not have a position saved in the preferences file at the top of the monitor that contains the mouse. On machines that do not support Color Quickdraw, these dialogs, alerts, and windows would be positioned at some random location offscreen. In general, any machine that uses a ROM from a 68000 machine will not support Color Quickdraw, and would have exhibited this bug.
The Find dialog allows the user to find those blocks in a Zone window that are of a certain type, certain size, or contain a certain pattern. An attempt to find those blocks that contain a case-insensitive ASCII pattern with one or more non-alphabetic characters would sometimes fail.
F E A T U R E S I N V E R S I O N 0 . 9 . 5
Added support for 24-bit addressing.
Added a preferences file. ZoneRanger will now save the size, location, and configuration of all windows.
Added ability to find blocks in a heap zone according to their type, size, or contents.
Added ability to control the rates at which the windows are refreshed when ZoneRanger is in the foreground and when it is in the background.
Added popup menu to Overview window.
Added more detailed balloon help.
Added more status information to Zone window.
Enhanced memory management.
Enhanced stack usage.
Enhanced segmentation strategy.
Enhanced drawing speed in Zone window.
Enhanced error handling.
B U G F I X E S I N V E R S I O N 0 . 9 . 5
ZoneRanger uses a single offscreen drawing world for all open windows, which is sized to accommodate the largest of the windows. When the largest window was closed, the offscreen world was not reduced appropriately.
If an application name contained characters that are meaningful to the menu manager ( "(", "-", "/" ), then strange things would appear in the Zones menu for that application.
It would sometimes be difficult to bring a window to the front by clicking on the title bar of the window.
The scroll bar in the Zone window for a particularly large zone would sometimes behave erratically.
The maximum size to which a Zone window could be grown was the size of the main monitor. This proved to be a bad assumption if the main monitor were the smallest monitor on the system.
The Zone window did not refresh properly when it detected that its heap zone had increased in size.
A bug exists in the Window Manager of the Macintosh Toolbox in which the grow box for a window, which includes the outline of the scroll bars, is drawn one pixel too low if the window is resized while the left edge of the window is off the screen. To minimize this unsightly problem, ZoneRanger will redraw the outline of the horizontal scroll bar in its proper position.
C O M M E N T S A N D S U G G E S T I O N S
If you find any bugs with the program, or have any comments or suggestions you would like to make, please send them to the address below.